If the screen is locked with animatedFade parameter enabled, the
screenShield currently defers the emission of this signal until the
lightbox toggles on. However the lightbox might be prevented from
ever doing that by later input.
If this emission is delayed enough, it will result in ShellDBus
missing the D-Bus timeout for replying to the Lock request, since
it does rely on this signal being emitted in order to reply back.
It does however make sense to keep setting the active state after
the animation, so the inhibitors are synchronized at the point the
lightbox kicks in.
Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/8644
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3971>
_onShortLightbox(lightBox) {
if (lightBox.active)
- this._completeLockScreenShown();
+ this._setActive(true);
}
showDialog() {
if (params.fadeToBlack)
this._activateFade(this._shortLightbox, 0);
- this._completeLockScreenShown();
+ this._setActive(true);
}
- }
- _completeLockScreenShown() {
- this._setActive(true);
this.emit('lock-screen-shown');
}